#ifndef  xParticleEffectPlug_h_h_h_h
#define xParticleEffectPlug_h_h_h_h

#include "xParticleEffect.h"


namespace XE	
{

	class xLineForceEffect :public  xParticleEffect
	{
	public:

		static const xString EffectType;

         xLineForceEffect(const xString& name,xParticleTemplate * pParent);

		 ~xLineForceEffect();

		 const xString& GetType(){return EffectType;}

		 void clone(xParticleEffect* pTarget);

		 void EffectParticle(xParticleSystemInstance* pParticle,WORD time);

	protected:

		void SetDir(const xString& dir);
		void GetDir(xString& dir);

		void  SetPower(const xString& power);
		void  GetPower(xString& power);


	public:
		xVector3 m_Dir;
		float m_Power;


	};




	class  xLineForceEffectFactory :public xParticleEffectFactory
	{
	public:

		static const xString EffectType;

		const xString& GetType()const {return EffectType;}

		xParticleEffect* CreateEffect(const xString& name,xParticleTemplate* pParent) const
		{
			return new xLineForceEffect(name,pParent);
		}


	};




}














#endif